import { createStore } from "vuex";
import cart from "./modules/cart";
import user from "./modules/user";
import category from "./modules/category";
//导入创建持久化插件的函数
import createPersistedState from "vuex-persistedstate";
//createStore()创建仓库
export default createStore({
  //定义状态
  state: {},
  //计算属性
  getters: {},
  //修改状态
  mutations: {},
  //异步操作
  actions: {},
  //模块配置
  modules: {
    cart,
    user,
    category,
  },
  // 给vuex配置插件
  //这样写默认是会存储所有的模块数据到本地存储，只需要user和cart模块存储，所有需要加上额外的配置
  // 通过paths指定需要存储的数据，通过key指定存储数据的key,默认是存储在localStorage里头
  plugins: [createPersistedState({
    key: 'erabbit-vue3-store',
    paths: ['user', 'cart']
  })]
});
